#include <stdlib.h>

#include "etat_bataille.h"
#include "manipulation_ennemis.h"
#include "statistiques.h"
#include "etat_partie.h"

#include "constantes_et_macros.h"




void init_etat_bataille(struct etat_bataille* bataille, struct etat_partie* partie, const struct base_donnees* donnees)
{
    init_liste_ennemis(&bataille->ennemis);
    init_liste_projectiles(&bataille->projectiles);
    init_stats_temporaires(bataille, partie, donnees);
    bataille->pv_j = bataille->stats_temp.pv_max;
    bataille->orientation_j = BAS;
    bataille->score_deplacement_j = 0;
    bataille->score_charge_j = 0;
}


void detruire_etat_bataille(struct etat_bataille* bataille)
{
    detruire_liste_ennemis(&bataille->ennemis);
    detruire_liste_projectiles(&bataille->projectiles);
}



/* ============ accesseurs pour les statistiques temporaires =============== */



unsigned int get_pv_actuels_joueur(const struct etat_bataille* bataille)
{
    return bataille->pv_j;
}



unsigned int get_puissance_temp(const struct etat_bataille* bataille)
{
    return bataille->stats_temp.puissance;
}



unsigned int get_vitesse_deplacement_temp(const struct etat_bataille* bataille)
{
    return bataille->stats_temp.vitesse_deplacement;
}



unsigned int get_vitesse_charge_temp(const struct etat_bataille* bataille)
{
    return bataille->stats_temp.vitesse_charge;
}



unsigned int get_pv_max_temp(const struct etat_bataille* bataille)
{
    return bataille->stats_temp.pv_max;
}

